package com.quanyan.stadium.service.commonComponent;

import java.util.List;

/**
 * 消息推送服务
 * Created by Zheng.Ke
 * Date 2016/7/8.
 */
public interface MessagePushService {

    /**
     * 收到约运动的邀请通知
     * eg:XXX邀请你参加约运动“YYY”。
     * @param title 标题
     * @param uid  收件人
     * @param nickname  发送邀请人的昵称
     * @param datesportId
     * @param imgUrl 约运动图像
     * @return
     */
    boolean pushReceiveInviteMessage(String title, int uid, String nickname, int datesportId, String imgUrl);

    /**
     * 约运动创建成功通知
     * eg:约运动"YYY“创建成功。
     * @param title
     * @param uid  收件人
     * @param imgUrl  创建者头像
     * @return
     */
    boolean pushCreateDatesportSucessMsg(String title, int uid, int datesportId, String imgUrl);

    /**
     * 创建者收到别的用户申请加入约运动的通知
     * eg:XXX申请加入你创建的约运动“YYY”。
     *【同意】【拒绝】
     * @param title  标题
     * @param uid  收件人
     * @param nickname  发送申请消息的用户昵称
     * @param jumpUid  跳转到用户主页的uid
     * @param imgUrl  申请人图象
     * @return
     */
    boolean pushApplyForMessage(String title, int uid, String nickname, int jumpUid, int datesportId, String imgUrl);

    /**
     * 用户拒绝加入
     * eg:很抱歉，XXX拒绝加入约运动“YYY”。
     * @param title  标题
     * @param uid  收件人
     * @param nickname  拒绝用户的昵称
     * @param jumpUid  拒绝用户的id
     * @param imgUrl 约运动图像
     * @return
     */
    boolean pushUserRefuseMessage(String title, int uid, String nickname, int jumpUid, String imgUrl);

    /**
     * 创建者拒绝加入
     * eg:很抱歉，你被拒绝加入约运动“YYY”，不要灰心，继续探索吧。
     * @param title  标题
     * @param uid   收件人
     * @param datesportId
     * @param imgUrl 约运动图像
     * @return
     */
    boolean pushCreatorRefuseMessage(String title, int uid, int datesportId, String imgUrl);

    /**
     * 用户同意加入
     * et:XXX已接受你的邀请并加入你创建的约运动“YYY”。
     * @param title  标题
     * @param uid   收件人
     * @param nickname  接受邀请方昵称
     * @param jumpUid  跳转到用户主页的uid
     * @param isCreatorInvite  是否是受邀请的
     * @param imgUrl  用户图象
     * @return
     */
    boolean pushUserAgreeMessage(String title, int uid, String nickname, int jumpUid, boolean isCreatorInvite, String imgUrl);

    /**
     * 创建者同意加入
     * eg:恭喜，你已被同意加入约运动“YYY”，快去和大家打招呼吧。
     *【开始聊天】
     * @param title  标题
     * @param uid   收件人
     * @param groupId  群组id
     * @param imgUrl  约运动图像
     * @return
     */
    boolean pushCreatorAgreeMessage(String title, int uid, int datesportId, String groupId, String imgUrl);

    /**
     * 发布约运动公告通知
     * eg:你参与的约运动“YYY”，组织者发布了新的公告，快去查看吧！
     * @param title
     * @param uidList
     * @param imgUrl 约运动图像
     * @return
     */
    boolean pushNoticeMessage(String title, List<Integer> uidList, int datesportId, String imgUrl);

    /**
     * 您参加的xxx约运动已经取消了。
     * @param title  标题
     * @param uidList  收件人
     * @param datesportId
     * @param imgUrl  约运动图像
     * @return
     */
    boolean pushCancelMessage(String title, List<Integer> uidList, int datesportId, String imgUrl);

    /**
     * xx退出了您创建的xxx约运动。
     * @param title  标题
     * @param uid  收件人
     * @param jonnedUid  加入者
     * @param nickname  昵称
     * @param datesportId
     * @param imgUrl  约运动图像
     * @return
     */
    boolean pushUserExitMessage(String title, int uid, int jonnedUid, String nickname, int datesportId, String imgUrl);



}
